Skip to main content

DSCoWRMK 스크립트

1. 주의사항

해당 스크립트 마킹 모듈은 알파 블렌드 방식의 마킹을 사용하고 있습니다. 알파 블렌딩 마킹의 경우 칼러 이미지 마킹까지 지원하고 선명한 마킹 화질을 지원할 수 있지만 구형 드라이버에서는 문제가 발생 할 수 있습니다. 따라서 필히 사용전에 해당 프린트 드라이버를 PCL 6드라이버로 업데이트 해 주시길 부탁 드립니다. 만약 구 버젼 드라이버에서 마킹을 진행 하길 원하는 경우 도트 방식의 마킹 방식을 지원하고 있으며 해당 프린트 드라이버 명을 입력하여 처리 하는 것이 가능합니다

2. 스크립트 예시

<Begin>
<case=MARKING_VERSION>
<VERSION="2">
</case>
<case=MARKING_SETTING>
<NORMAL_DOC="1">
<ENABLE="1">
<BMP_FILE_USE="0">
<DENSITY_CENTER="30">
<INTERCHARACTER="0">
<INTERLINE="100">
<SLOPE="300">
<TEXT_OPTION="이문서는일반문서입니다. ">
<DATE_FORMAT1="yyyy-MM-dd ">
<DATE_FORMAT2="yyyy, MM, dd ddd">
<DATE_FORMAT3="yyyy MM dd">
<TIME_FORMAT1="HH:mm">
<TIME_FORMAT2="hh mm ss">
<TIME_FORMAT3="hh mm ">
<WIDTH="1200">
<HEIGHT="1200">
<HP_PRINT_DENSITY="10">
<DOT_PRINTER="ALL">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="1">
<TYPE="1">
<LOCATION="1">
<ALIGN="0">
<FONT_SIZE="200">
<IMAGE_FILE_NAME="dscgrd.dll">
<MARGINX="0">
<MARGINY="0">
<RESERVED="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="1">
<LOCATION="0">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="일반/ $uID / $uName / $uOrg / $HostName">
<MARGINX="0">
<MARGINY="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="1">
<LOCATION="2">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="일반/ $pDate1 / $pTime1 / $oText">
<MARGINX="0">
<MARGINY="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="1">
<LOCATION="1">
<FONT_SIZE="150">
<FONT_NAME="HY견고딕">
<FONT_COLOR="0">
<FONT_WEIGHT="300">
<TEXT="일반문서">
<ALIGN="1">
</case>
<case=MARKING_SETTING>
<NORMAL_DOC="0">
<ENABLE="1">
<BMP_FILE_USE="0">
<DENSITY_CENTER="40">
<INTERCHARACTER="0">
<INTERLINE="100">
<SLOPE="300">
<TEXT_OPTION="이문서는보안문서입니다. ">
<DATE_FORMAT1="yyyy-MM-dd ">
<DATE_FORMAT2="yyyy, MM, dd ddd">
<DATE_FORMAT3="yyyy MM dd">
<TIME_FORMAT1="HH:mm">
<TIME_FORMAT2="hh mm ss">
<TIME_FORMAT3="hh mm ">
<WIDTH="600">
<HEIGHT="600">
<HP_PRINT_DENSITY="10">
<DOT_PRINTER="ALL">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="0">
<TYPE="1">
<LOCATION="1">
<ALIGN="0">
<FONT_SIZE="200">
<IMAGE_FILE_NAME="dscgru.dll">
<MARGINX="0">
<MARGINY="0">
<RESERVED="0">
</case>
<case=MARKING_DATA>
<LOCATION="0">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="보안/ $uID / $uName / $uOrg / $HostName">
<MARGINX="0">
<MARGINY="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="0">
<LOCATION="2">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="보안/ $pDate1 / $pTime1 / $oText">
<MARGINX="0">
<MARGINY="0">
</case>
<case=MARKING_DATA>
<NORMAL_DOC="0">
<LOCATION="1">
<FONT_SIZE="150">
<FONT_NAME="HY견고딕">
<FONT_COLOR="0">
<FONT_WEIGHT="300">
<TEXT="보안문서">
<ALIGN="1">
</case>
<End>

3. 스크립트 세부 항목 설명

세부 정책항목 설명
<case=marking_version>마킹 스크립트 파일의 버전을 구분하기 위해서 명시해주는 부분입니다.
해당 값은 항상 <Begin> 이후 최우선으로 명시해줘야 이후 정책들이 제대로 인식됩니다.
해당 항목이 없을 경우 예전 스크립트 방식(VERSION=“1”)으로 자동으로 인식합니다
<version="2">마킹 스크립트 버전 입니다.
<VERSION="1"> 일반/보안 문서에 구분없이 동일한 마킹 정책을 수행하도록 하는 예전 마킹 스크립트 버전을 나타냅니다.
<VERSION="2"> 일반/보안 문서에 따라서 서로 다른 마킹 정책을 수행하도록 하는 작성된 새로운 마킹 스크립트 버전을 나타냅니다.
<case=marking_setting>마킹에 대한 기본적인 환경 설정을 하는 부분입니다.
해당 블록 안에 각 타입을 지정함으로 세부적인 설정이 가능합니다.
해당 값을 넣을때는 꼭 “ “안에 입력해 주세요
<NORMAL_DOC="1">일반 문서용 마킹 정책을 의미합니다. 해당 값을 정의하지 않을 경우 자동으로 보안 문서용 마킹 정책(0)으로 인식합니다.
<ENABLE="1">마킹의 사용 여부 입니다.
<ENABLE="0"> 스크립트 마킹을 사용하지 않습니다. 콘솔 정책의 마킹을 사용합니다.
<ENABLE="1"> 스크립트 마킹을 사용합니다.
<CENTER_DRAW_TYPE="0">중앙 텍스트 마킹의 적용 타입입니다.
<CENTER_DRAW_TYPE="0"> : 내부적으로 비트맵을 생성하여 출력합니다.
<CENTER_DRAW_TYPE="1"> : 비트맵 파일을 SDS폴더에서 읽어 들여 사용합니다. (cntbg.dll 이용 )
<DENSITY_CENTER="30">중앙 마킹의 농도를 결정합니다. 숫자는 0~99까지 사용 가능하며 숫자가 커질수록 마킹 농도가 진해 집니다.
<INTERCHARACTER="-3">자간 간격을 결정합니다. 숫자가 클수록 자간의 간격이 넓어 집니다.
<SLOPE="300">중앙 텍스트의 회전각입니다. 숫자1당 0.1도씩 시계반대방향으로 회전합니다.
ex) 450의 경우 45도 회전하여 사선으로 출력
<TEXT_OPTION="이 문서는 보안 문서 입니다. ">옵션 텍스트의 내용을 지정할 수 있습니다.
해당 문자열을 실제 마킹 텍스트에서 $oText 변수를 사용하면 해당 텍스트로 치환이 되게 됩니다.
<DATE_FORMAT1="yyyy-MM-dd">날짜 출력에 대한 환경변수를 지정합니다.
<DATE_FORMAT1=" …">$pDate1
<DATE_FORMAT2=" … ">$pDate2
으로 출력이 가능합니다. 내용 부분에는 출력 포맷을 써주면 되며 포맷은 다음과 같습니다.

yyyy : 년도를 4자리 숫자로 출력합니다.
yy - 년도를 무조건 2자리 숫자로 출력합니다.(0을 포함함) ex) 98 ,99 , 00 , 01 ..
y - 년도를 2자리 숫자로 출력합니다. (0을 포함하지 않음) ex) 98, 99, 0 , 1 , 2

MMMM – 월을 영어로 출력합니다. Ex) December
MMM - 월을 영어로 약자만 표기합니다. Ex) Jan
MM – 월을 숫자로 0을 포함하여 표기합니다.
M - 월을 숫자로 표기합니다.

dddd - 요일을 영어로 풀네임 표기합니다. Ex) Monday
ddd - 요일을 영어로 약자만 표기합니다. Ex) Mon
dd - 날짜를 숫자로 0을 포함하여 표기합니다.
d - 날짜를 숫자로 표기합니다.

출력 예제)
“yyyy-MM-dd” -> 2008-12-04
“yy-M-d” -> 08-12-4
<TIME_FORMAT1="HH:MM" >시간 출력에 대한 환경변수를 지정합니다.
<TIME_FORMAT1=" …">$pDate1
<TIME_FORMAT2="..."$pDate2로 출력이 가능합니다.
내용 부분에는 날짜와 동일하게 포멧을 써주면 됩니다.

- 포멧 형식
h : 12시간제 시간     H : 24시간제 시간
m : 분
s : 초
t : am / pm (오전 오후 표기)
2자로 입력하면 앞자리에 2자리 고정으로 0을 포함하여 입력 가능합니다.
ex) "h시 m분 s초" -> "9시 4분 2초"
"hh시 mm분 ss초" -> "09시 04분 02초"
<WIDTH="600">,<HEIGHT="600">중앙 텍스트 마킹을 할 경우 내부적으로 생성할 비트맵 이미지 크기 입니다.
해당 옵션은 <CENTER_DRAW_TYPE="0"> 옵션으로 내부적으로 비트맵을 생성할 경우에만 적용이 가능하며
숫자가 클수록 보다 깨끗한 텍스트로 출력이 가능합니다.(단 그만큼 리소스를 더 먹게 됩니다.)
0을 사용 할 경우 해당 프린터의 영역으로 자동 설정이 되어 가장 선명한 텍스트 마킹이 가능해 집니다.
(프린터가 6000x4000 영역을 사용할 경우 6000x4000으로 적용 됨)

WIDTH는 가로 크기, HEIGHT는 세로 크기 입니다.
<HP_PRINT_DENSITY="10">HP프린터의 경우 마킹 농도가 연하기 때문에 농도 보정을 할 경우가 존재 합니다.
해당 수치를 입력하여 HP LaserJet 프린터 군의 농도를 조절할 수 있습니다
<DOT_PRINTER=“ALL”>알파 블랜딩 방식으로 인쇄 시 장애가 발생하는 특정 프린터의 경우 도트 방식으로 인쇄하도록 예외 처리하거나
모든 프린터에 대해 도트 방식으로 인쇄할 수 있게 설정할 수 있다.
특정 프린터의 예외 처리를 원할 경우 윈도우가 인식하고 있는 프린터 명을 명시해주고 프린터구분 없이
도트 방식으로 인쇄하기를 원할 경우 프린터 명을“ALL”로 해주면 된다.
<case=MARKING_DATA>실제 마킹 데이터를 하나의 입력하기 위한 구문 입니다. MARKING_DATA뒤에는 임의의 숫자를 입력하여도 무관합니다.
Ex) <case=MARKING_DATA1>, <case=MARKING_DATA2><case=MARKING_DATA3> 등도 가능함.
각 필드의 내용은 다음과 같습니다.
<NORMAL_DOC="1">일반 문서용 마킹 정책을 의미합니다. 해당 값을 정의하지 않을 경우 자동으로 보안 문서용 마킹 정책(0)으로 인식합니다
<TYPE="1">마킹 타입을 지정합니다. 0은 텍스트 마킹 1은 이미지 마킹입니다.
입력하지 않을 경우 텍스트 마킹으로 지정됩니다.
<LOCATION="-1">마킹 상 하단 위치를 지정합니다.
0은 상단, 1은 중단, 2는 하단을 사용합니다.
텍스트 마킹의 경우 상단 텍스트 마킹 , 하단 텍스트 마킹 , 중앙 텍스트 마킹의 설정 값이며
이미지 마킹의 경우 이미지의 기본 출력 위치를 상단, 중단, 하단 지정합니다.
<FONT_SIZE="12">마킹 크기를 지정합니다.
텍스트 마킹의 경우 폰트의 크기를 지정 가능하며 이미지 마킹의 경우 이미지의 배율을 지정 가능합니다.
<FONT_NAME="굴림">폰트 명을 지정합니다.
지정된 이름의 폰트로 설정됩니다.
이미지 마킹에서는 아무런 영향이 없습니다.
<FONT_COLOR="10">폰트 색을 지정합니다.
폰트의 기본색을 지정하며 0은 검은색 255는 힌색입니다.
마킹 이미지의 경우 여기에 농도를 지정하면 별개의 농도로 출력이 가능합니다(0~100).
<FONT_WEIGHT="300">폰트의 두께를 지정합니다.
400이 일반 폰트의 굵기가 되며 100단위로 조절합니다. ( 100~900 )
100(가늘게) 400(보통) 600(약간 굵게) 700(굵게)
<ALIGN="0">마킹의 좌우 위치를 지정합니다.
0: 좌측 1:중앙 2:우측 입니다. 텍스트 마킹 및 이미지 마킹 모두 적용됩니다.
<text="$ofile">텍스트 마킹의 실제 출력할 텍스트를 지정합니다.
이미지 마킹의 경우 사용하시면 안됩니다. 환경 변수를 사용하면 지정한 내용을 출력하는 것이 가능합니다.

(환경변수)
$uID : 사용자 ID를 출력
<MARGINX="0">, <MARGINY="0">출력 위치에 대한 보정 위치인 마진 값을 지정합니다. X는 좌우 Y는 상하를 이용하여 해당 출력위치에서 추가적이 보정 위치 값을 지정하는 것이 가능합니다
<IMAGE_FILE_NAME="dscgru.dll">이미지 마킹의 경우 이미지 출력의 파일 명을 지정합니다.
이미지 파일명을 BMP포멧으로 저장이 되어 있어야 하며 확장자는 관계 없습니다.
이미지 파일은 windows\Softcamp\SDS 폴더 내부에 존재해야 합니다.
<case=MARKING_TYPE_BY_PRINT_DRIVER>알파 블렌딩 방식의 마킹의 경우 지원하지 않는 드라이버가 존재 합니다.
지원하지 않는 드라이버를 사용하여 해당 알파블렌딩 마킹을 수행 할 경우 다음과 같은 증상이 있습니다.
- 중앙 이미지 마킹이 원본 문서를 덮는다.
- 중앙 이미지 마킹이 나오지 않는다.
- 문서가 출력이 되지 않는다.
따라서 다음과 같은 문제가 발생할 수 있는 드라이버에 관련하여 도트방식의 마킹으로 변환 하는 것이 가능합니다.

사용 예) FinePrint 5 라는 드라이버에 관련 하여 도트방식으로 처리하기
<case=MARKING_TYPE_BY_PRINT_DRIVER>

4. 실제 마킹 적용해보기

4-1. MARKSETING 내용 추가하기

<case=MARKING_SETTING>
<NORMAL_DOC=“0”>
<ENABLE="1">
<BMP_FILE_USE="0">
<DENSITY_CENTER="1">
<INTERCHARACTER="0">
<INTERLINE="100">
<SLOPE="300">
<TEXT_OPTION=" ‘쉽게 말해요’ 실천!! 고객중심 경영의 시작입니다">
<DATE_FORMAT1="yyyy-MM-dd ">
<DATE_FORMAT2="yyyy, MM, dd ddd">
<DATE_FORMAT3="yyyy MM dd">
<TIME_FORMAT1="HH:mm">
<TIME_FORMAT2="hh mm ss">
<TIME_FORMAT3="hh mm ">
<WIDTH="600">
<HEIGHT="600">
</case>

상세설명을 참고하여 해당 설정을 적절하게 수정

4-2. 상단, 하단에 텍스트 마킹 추가

<case=MARKING_DATA>
<NORMAL_DOC=“0”>
<LOCATION="0">
<ALIGN="1">
<FONT_SIZE="20">
<FONT_NAME="굴림">
<FONT_COLOR="0">
<FONT_WEIGHT="0">
<TEXT="$uID /$uName / $uOrg /$pDate1 $pTime1/$oText $HostName">
<MARGINX="0">
<MARGINY="0">
</case>

<LOCATION=“0”> 을 설정함으로 상단 텍스트 마킹을 사용하게 정의하였습니다.

<LOCATION=“2”> 를 설정하게 되면 하단 텍스트 마킹을 사용하게 될 것 입니다.

<ALIGN=“1”>을 설정함으로 중앙 정렬을 사용하고 있습니다.

출력되는 텍스트는 환경변수의 내용을 파싱하여 사용자 정보를 표시하고 있습니다.

위치 보정은 현재 0을 입력함으로 사용되고 있지 않습니다.

4-3. 중앙 텍스트 마킹 추가하기

<case=MARKING_DATA>
<NORMAL_DOC=“0”>
<LOCATION="1">
<FONT_SIZE="23">
<FONT_NAME="HY견고딕">
<FONT_COLOR="0">
<FONT_WEIGHT="300">
<TEXT="소프트 캠프 [$uName]">
<ALIGN="1">
</case>

<case=MARKING_DATA>
<NORMAL_DOC=“0”>
<LOCATION="1">
<FONT_SIZE="23">
<FONT_NAME="HY견고딕">
<FONT_COLOR="0">
<FONT_WEIGHT="300">
<TEXT="해당 문서는 보안 문서입니다.">
<ALIGN="1">
</case>

중앙 텍스트

마킹을 사용하기 위해서는 <LOCATION=“1”>을 지정해 주어야 합니다.

중앙 마킹은 상하단 마킹과 동일하며 여러 개의 중앙 마킹 정보를 입력하는 것이 가능합니다. 여러 개의 마킹 정보를 입력 할 경우 <MARGINX="0"> <MARGINY="0"> 내용을 수정하여 적절하게 위치 조정을 해 주시면 됩니다.

중앙 텍스트를 회전하기 위해서는 마킹 설정의 <SLOPE="300">을 사용하면 됩니다.

4-4. 마킹 이미지 추가하기

<case=MARKING_DATA>
<NORMAL_DOC=“0”>
<TYPE="1">
<LOCATION="1">
<ALIGN="0">
<FONT_SIZE="200">
<IMAGE_FILE_NAME="dscgru.dll">
<MARGINX="0">
<MARGINY="0">
<RESERVED="0">
</case>

마킹 이미지를 추가하기 위해서는 <TYPE=“1”> 을 설정 해야 합니다. 설정할 경우 <IMAGE_FILE_NAME="dscgru.dll"> 항목에 이미지 파일 명을 입력함으로써 이미지 마킹이 가능하게 됩니다. <FONT_SIZE="200"> 항목을 수정하게 되면 이미지의 배율을 조정하는 것이 가능합니다. <FONT_COLOR="200"> 항목을 수정하게 되면 <DENSITY_CENTER="30">의 농도 값이 아닌 별개의 농도로 재 설정 가능합니다.